/**
 * Copyright (C), 2015-2018, XXX有限公司
 * FileName: FileUtil
 * Author:   臧浩鹏
 * Date:     2018/8/4 14:45
 * Description:
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
package com.play.common;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * 〈一句话功能简述〉<br> 
 * 〈〉
 *
 * @author 臧浩鹏
 * @create 2018/8/4
 * @since 1.0.0
 */
@Slf4j
public class FileUtil {
    /**
     * 在basePath下保存上传的文件夹
     * @param basePath
     * @param files
     */
    public static String saveMultiFile(String basePath, MultipartFile[] files) {
        if (files == null || files.length == 0) {
            return "";
        }
        if (basePath.endsWith("/")) {
            basePath = basePath.substring(0, basePath.length() - 1);
        }
        String filePath = "";
        for (MultipartFile file : files) {
            filePath = basePath + "/" + file.getOriginalFilename();
            makeDir(filePath);
            File dest = new File(filePath);
            log.info(filePath+"+++++++++");
            try {
                file.transferTo(dest);

            } catch (IllegalStateException | IOException e) {
                e.printStackTrace();
            }
        }
        return filePath;
    }

    /**
     * 确保目录存在，不存在则创建
     * @param filePath
     */
    private static void makeDir(String filePath) {
        if (filePath.lastIndexOf('/') > 0) {
            String dirPath = filePath.substring(0, filePath.lastIndexOf('/'));
            File dir = new File(dirPath);
            if (!dir.exists()) {
                dir.mkdirs();
            }
        }
    }
}
